package bszt.huawei;

import java.util.*;

public class Code03 {

    /**
     * 有n场编号从0到n−1的博览会将要举办，编号为i的的博览会举办时间为[start_i,end_i]，即从第start_i天到第end_i天，包含第start_i天和第end_i天
     * 小明计划参加这些博览会，每天最多可以参加k场博览会
     * 请问小明最多可以参加多少场博览会。需注意，小明不需要全程参加一场博览会，只需要在某一天参加即可
     * <p></p>
     * 输入格式：
     * 第一行输入包含两个整数n和k，n表示博览会的数量，k表示每天最多可以参加的博览会的数量
     * 以下n行每行包含两个整数start和end，表示第i场博览会的举办时间
     * <p></p>
     * 输出格式：
     * 小明最多能参加的博览会数量
     */

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int k = sc.nextInt();
        List<int[]> intervals = new ArrayList<>();
        for (int i = 0; i < n; i++) {
            int start = sc.nextInt();
            int end = sc.nextInt();
            intervals.add(new int[]{start, end});
        }
        intervals.sort(Comparator.comparingInt(o -> o[0]));

        int day = 1;
        int cnt = k;
        int res = 0;

        for (int[] interval : intervals) {
            int s = interval[0];
            int e = interval[1];

            if (s <= day) {
                if (cnt > 0) {
                    cnt--;
                    res++;
                } else {
                    day++;
                    if (day <= e) {
                        cnt = k - 1;
                        res++;
                    } else {
                        cnt = k;
                    }
                }
            } else {
                day = s;
                cnt = k - 1;
                res++;
            }
        }
        System.out.println(res);
    }
}
